#include <common.h>
#include <ast/ast.h>

namespace ast {
  NodeStmt::NodeStmt(Stage _stage): stage(_stage) {}

  void NodeStmt::dot_string(std::string & str) {
    str = std::string("Stmt") + R"(\n)" + std::string("stage:")
      + enum_name(this->stage);
  }

  void NodeStmt::dot_accept(AstDot & ast_dot) {
    ast_dot.visit(*this);
  }
  
  void NodeStmt::accept(ir::Visitor & visitor) {
    visitor.visit(*this);
  }
}
